
const nodemailer = require("nodemailer");
const fs = require("fs");
const path = require("path");



let transporter = nodemailer.createTransport({
  host: 'smtp.qq.com',
//   service: "qq", // 使用了内置传输发送邮件 查看支持列表：https://nodemailer.com/smtp/well-known/
  port: 465, // SMTP 端口
  //secureConnection: true, // 使用了 SSL
  auth: {
    user: "1134809127@qq.com",
    pass: "pchetfuiodtfhabb", //授权码，并非QQ密码
    // pchetfuiodtfhabb
  },
});


//发送内容
//let mailOptions = {
  //from: '"1134809127@qq.com', // 发送地址
  //to: "11344809127@qq.com", // 接收列表（可多个）
  //subject: "欢迎使用源博客", // 主题
  // 发送text或者html格式（任选一个）
//   text: 'Hello world！', 
  //html:  fs.createReadStream(path.resolve(__dirname,'index.html'))
//   html: '<img src="cid:01">', 
//   attachments: [                 //添加附件（可多个）
//     {
//       filename: "image",
//       path: path.resolve(__dirname, "2.jpg"),
//       cid: "01",//与上面的图片cid对应
//     },
//     {
//       filename: "a.txt",
//       content: "hello world!",
//     },
//     {
//       filename: "b.txt",
//       path: "./text.txt",//根目录新建即可
//     },
//   ],
//};

//发送
// module.exports.send =  (mailOptions) => {
//     transporter.sendMail(mailOptions, function(error, info){//发送函数
//         if(error) {
//              console.log(error);
//         }
//         else{
//             console.log('邮件发送'+info.response)
//         }
//     });
// }


// 封装发送邮件的方法
const send = (mail, code,lang) => {

    let mailObj = {
        from:  "'年少有为'<1134809127@qq.com>", // 邮件名称和发件人邮箱地址
        to: mail, //收件人邮箱地址（这里的mail是封装后方法的参数，代表收件人的邮箱地址）
        subject: lang, //邮件标题,
        // 邮件内容，这里的code是这个方法的参数，代表要发送的验证码信息，这里的内容可以自定义, text:以文本方式发送，html：以html网页格式发送
        html:  ` <h2 style="text-align: center">您的邮箱验证码是： <b style="color: red;text-align: center">${code}</b></h2>` , 
    }
    // 发送邮件，封装成promise
    return new Promise((resolve, reject) => {
        transporter.sendMail(mailObj, (err, data) => {
            console.log(mail,code)
            if (err) {
                reject("请输入正确邮箱")
            } else {
                resolve('邮件发送成功'); // 邮件发送成功
            }
        })
    })
}

module.exports = {
    send
}